欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

數據結構順序表

順序表的介紹

在了解順序表之前先給大家介紹一下什么叫做線性表:

線性表(linear list):是n個具有相同特性的數據元素的有限序列。 線性表是一種在實際中廣泛使用的數據結構。

常見的線性表:順序表、鏈表、棧、隊列…
線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上并不一定是連續的,線性表在物理上存儲時,通常以數組和鏈式結構的形式存儲。

順序表就是線性表的一種,是邏輯地址和物理地址都是連續的。順序表是用一段物理地址連續的存儲單元依次存儲數據元素的線性結構,一般情況下采用數組存儲。在數組上完成數據的增刪查改 。
順序表接口的實現

順序表中是以數組來實現的,數據的大小是由數組的大小來決定的話每次新增和刪除數據的話數組的大小實時,會造成頻繁改變數組的大小,使用一個標志來記錄順序表的大小會更方便,不會經常改變數組大小 。
public class SeqList {
? ? private int[] elem;
? ? private int usedSize;//記錄當前順序表當中 有多少個有效的數據
? ? private static final int DEFAULT_CAPACITY = 10;
? ? public SeqList() {
? ? ? ? this.elem = new int[DEFAULT_CAPACITY];
? ? }
? ? // 打印順序表,注意:該方法并不是順序表中的方法,為了方便看測試結果給出的
? ? public void display() {
? ? }
? ? // 新增元素,默認在數據 最后新增
? ? public void add(int data) {
? ? }
? ? //判斷順序表是否滿了
? ? private boolean isFull() {
? ? }
? ? // 判定是否包含某個元素
? ? public boolean contains(int toFind) {
? ? ? ? return false;
? ? }
? ? // 查找某個元素對應的位置
? ? public int indexOf(int toFind) {
? ? ? ? return -1;
? ? }
? ? // 獲取 pos 位置的元素
? ? public int get(int pos) ?{
? ? }
? ? // 獲取順序表長度
? ? public int size() {
? ? }
? ? // 給 pos 位置的元素設為 value【更新的意思 】
? ? public void set(int pos, int value) {
? ? }
? ? //檢查pos下表是否合法
? ? private boolean checkPos(int pos){
? ? }
? ? // 在 pos 位置新增元素
? ? public void add(int pos, int data) {
? ? }
? ? private void resize() {
? ? }
? ? //刪除第一次出現的關鍵字key
? ? public void remove(int toRemove) {
? ? }
? ? //判斷順序表是否為空
? ? public Boolean isEmpty(){
? ? }
? ? // 清空順序表
? ? public void clear() {
? ? }
}

實現的第一個接口就是打印順表,其實就是對數組進行一個遍歷。

// 打印順序表,注意:該方法并不是順序表中的方法,為了方便看測試結果給出的
public void display() {
? ? for (int i = 0; i < this.usedSize; i++) {
? ? ? ? System.out.print(this.elem[i] + " ");
? ? }
? ? System.out.println();
}

進行新增數據的測試 :

public static void main(String[] args) {
? ? SeqList seqList = new SeqList();
? ? seqList.add(1);
? ? seqList.add(2);
? ? seqList.add(3);
? ? seqList.add(4);
? ? seqList.add(5);
? ? seqList.add(6);
? ? seqList.add(1);
? ? seqList.add(2);
? ? seqList.add(3);
? ? seqList.add(4);
? ? seqList.add(5);
? ? seqList.add(6);
? ? seqList.display();
? ? System.out.println(seqList.contains(1));//包含1
? ? System.out.println(seqList.contains(100));//不包含100
? ? System.out.println(seqList.indexOf(4));//由元素4的下標
? ? System.out.println(seqList.indexOf(50));//沒有元素50
}

最后輸出結果:

1 2 3 4 5 6 1 2 3 4 5 6
true
false
3
-1

文章鏈接: http://www.qzkangyuan.com/22407.html

文章標題:數據結構順序表

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

交換數組元素

2023-7-25 13:15:57

建站教程

查看數組的大小

2023-7-25 13:27:13

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 余姚市| 介休市| 塘沽区| 天祝| 河东区| 东光县| 固阳县| 云林县| 连州市| 柯坪县| 大英县| 安康市| 故城县| 泰宁县| 兴业县| 景泰县| 普格县| 元江| 辽宁省| 日土县| 柯坪县| 田东县| 临桂县| 璧山县| 广东省| 红桥区| 通海县| 麟游县| 蒙山县| 舒兰市| 台安县| 佛学| 江津市| 东平县| 五大连池市| 遂宁市| 四子王旗| 开江县| 凌海市| 平原县| 堆龙德庆县|